package com.ldq.imooc.basics.socket;

import java.io.IOException;
import java.net.DatagramPacket;
import java.net.DatagramSocket;
import java.net.InetAddress;

/**
 * @Author : 李道泉
 * @Description :
 * @Date : 2018/4/23 17:13
 * @Modified by :
 */
public class UDPClient {

    public static void main(String[] args) throws IOException {

        /**
         * @Author : 李道泉
         * @Description : 向服务器发送数据
         * @Date 2018/4/23 17:45
         * @Modified by :
         */
        //1、定义服务器的地址、端口号、数据
        InetAddress address = InetAddress.getByName("localhost");
        int port = 8888;
        byte[] data = "春风拂杨柳".getBytes();
        //2、创建DatagramPacket数据报，包含发送信息
        DatagramPacket packet = new DatagramPacket(data, data.length, address, port);
        //3、创建DatagramSocket对象
        DatagramSocket socket = new DatagramSocket();
        //4、向服务器发送数据报
        socket.send(packet);


        /**
         * @Author : 李道泉
         * @Description : 接收服务器响应数据
         * @Date 2018/4/23 17:47
         * @Modified by :
         */
        //1.创建数据报，用于接收服务器端响应的数据
        byte[] resp=new byte[1024];
        DatagramPacket respPacket=new DatagramPacket(resp, resp.length);
        //2.接收服务器响应的数据
        socket.receive(respPacket);
        //3.读取数据
        String respInfo=new String(resp, 0, respPacket.getLength());
        System.out.println("客户端001：来自服务器消息："+respInfo);
        //4.关闭资源
        socket.close();
    }
}
